package com.lmx.persistence.service;

import java.util.List;

import com.lmx.persistence.service.common.BaseCrudService;
import com.lmx.repoDomain.tmodel.Tenant;
import com.lmx.repoDomain.tmodel.TenantPrivilege;

public interface TenantPrivilegeService extends
		BaseCrudService<TenantPrivilege> {

	/**
	 * 分配全部系统权限
	 *
	 * @author ytche
	 * @param tenant
	 * @param sysType
	 *            1机构2居家
	 * @date 2017年5月19日 下午1:39:03
	 */
	public void allocateSysPrivilege(Tenant tenant, Integer sysType);

	/**
	 * 删除目标租户的所有权限
	 *
	 * @author ytche
	 * @param id
	 * @date 2017年6月5日 下午2:02:51
	 */
	public void deleteByTenantId(Long id);

	/**
	 * 为租户添加权限
	 *
	 * @author ytche
	 * @param tenant
	 * @date 2017年7月19日 下午3:37:02
	 */
	public void addPrivileges(Tenant tenant);
	public Iterable<Tenant> addAllTenantPrivileges(Iterable<Tenant> tenants);

	/**
	 * 初始化权限列表
	 *
	 * @author ytche
	 * @param tenantId
	 * @date 2017年7月20日 上午11:38:38
	 */
	public List<TenantPrivilege> findInitTenantPrivilkeges(Long tenantId);

}
